package com.ks.system.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ks.system.entity.Log;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ks.system.entity.User;
import com.ks.system.vo.LogVO;
import io.swagger.models.auth.In;
import org.springframework.scheduling.annotation.Async;

import java.util.List;

/**
 * <p>
 * 操作日志表 服务类
 * </p>
 *
 * @author ks
 * @since 2020-12-01
 */
public interface LogService extends IService<Log> {


    /**
     * 异步保存操作日志
     * @param log 操作数据
     */
    @Async("CodeAsyncThreadPool")
    void saveLog(Log log);


    /**
     * 删除操作日志
     * @param id 日志ID
     */
    Integer delete(Long id);

    /**
     * 操作日志列表
     * @param page 分页数据
     * @param logVO 查询条件
     * @return page<Log> 分页数据
     */
    Page<Log> findLogList(Page<Log> page, LogVO logVO);


    /**
     * 批量删除操作日志
     * @param list 需要删除的日志数据
     */
    void batchDelete(List<Long> list);
}
